/*
 * Comparator.java
 *
 * Created on 2008/09/06 +0900
 *
 * $Revision: 60 $
 * $Date: 2008-12-28 19:27:48 +0000 (Sun, 28 Dec 2008) $
 */

package org.gikolet.framework.util;

/**
 * オブジェクトのコレクションで「全体順序付け」を行う比較関数。
 *
 * @author tetsutaro (latest modification by $Author: tetsutaro.ss $)
 * @version $Revision: 60 $ $Date: 2008-12-28 19:27:48 +0000 (Sun, 28 Dec 2008) $
 */
public interface Comparator {
    /**
     * 順序付けのために 2 つの引数を比較する。<br>
     * 最初の引数が 2 番目の引数より小さい場合は負の整数、<br>
     * 両方が等しい場合は 0、最初の引数が 2 番目の引数より大きい場合は正の整数を返す。<br>
     *
     * @param o1
     *            比較対象の最初のオブジェクト
     * @param o2
     *            比較対象の 2 番目のオブジェクト
     * @return 最初の引数が 2 番目の引数より小さい場合は負の整数、両方が等しい場合は 0、<br>
     *         最初の引数が 2 番目の引数より大きい場合は正の整数
     * @throws ClassCastException
     *             引数の型がこのコンパレータによる比較を妨げる場合
     */
    int compare(Object o1, Object o2);
}
